package com.example.ui.activitys;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

/**
 * 创建时间 2017/10/23
 * 作者 fengxn
 * ----------Dragon be here!----------/
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃神兽保佑
 * 　　　　┃　　　┃代码无BUG！
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━神兽出没━━━━━━
 */

public abstract class BaseActivity extends AppCompatActivity
{

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        if (setLayoutId() != 0)
        {
            setContentView(setLayoutId());
        }
        initVariables();
        initViews();
        initEvents();
    }

    /*
    * 填充布局
    * */
    protected abstract int setLayoutId();

    /*
    *检查更新
    * */
    protected abstract void initVariables();

    /*
    * 初始化view
    * */
    protected abstract void initViews();

    /*
    * 初始化事件
    * */
    protected abstract void initEvents();

    /*
    * 页面跳转
    * */
    protected void goTo(Class clazz)
    {
        Intent intent = new Intent(this, clazz);
        startActivity(intent);
    }
}
